#ifndef _CMA_SEARCH_CONTINUATION_H
#define _CMA_SEARCH_CONTINUATION_H

#include "stdafx.h"

class DecoScene;
class DecoArticulatedObject;

double Evaluator(double* params, DecoScene* scene, double* resultDetails);
double Evaluator2(double* params, DecoScene* scene, double* resultDetails);
double EvaluateObjFunc(DecoArticulatedObject* articulatedObj, double* resultDetails);

class CMASearchContinuation
{
public:
	CMASearchContinuation();
	virtual ~CMASearchContinuation();
	virtual void Search();

	

protected:
	virtual void searchFirstPass();
	virtual void searchSecondPass();
	virtual void getBoundaryFirstPass(double* minBoundary, double* maxBoundary, int searchDim);
	virtual void getBoundarySecondPass(double* minBoundary, double* maxBoundary, int searchDim);
};

#endif
